package com.ruoyi.common.wecom.entity;

import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.wecom.enums.MessageType;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;

import java.util.HashMap;
import java.util.Map;

/**
 *
 */
@Data
public class WeComSendTextMessage extends WeComSendBasicMessage {
    private String content; // 必填。消息内容，最长不超过2048个字节
    private boolean safe; // 表示是否是保密消息，0表示否，1表示是，默认0
    private MessageType messageType;

    @Override
    public Map<String, Object> getParamMap() {
        if (MessageType.TEXT != messageType || StringUtils.isBlank(content)) {
            throw new ServiceException("text的消息类型错误，或消息内容为空");
        }
        Map<String, String> contentMap = new HashMap<>();
        contentMap.put("content", content);

        Map<String, Object> paramMap = super.getParamMap();
        paramMap.put("text", contentMap);
        paramMap.put("safe", safe ? "1" : "0");
        return paramMap;
    }
}
